package com.quanyan.comment.service;

import com.quanyan.api.APIResponse;
import com.quanyan.comment.model.po.TbCommentTag;
import com.quanyan.comment.model.po.TbCommentTagSum;
import com.quanyan.comment.model.po.TbSysLabelGroup;
import com.quanyan.comment.reqeust.ReqCommentQuery;
import com.quanyan.comment.reqeust.ReqCommentTag;
import com.quanyan.comment.response.LableBaseInfo;
import com.quanyan.comment.response.RespCommentTag;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2016/12/9.
 */
public interface CommentTagService {

    /**
     * 查询标签
     * @param reqCommentQuery
     * @return
     */
    public APIResponse<List<RespCommentTag>> commentTagQuery(ReqCommentQuery reqCommentQuery);


    /**
     * 标签增加
     * @param reqCommentTag
     * @return
     */
    public APIResponse commentTagInsert(ReqCommentTag reqCommentTag) ;


    public APIResponse commentTagUpdate(ReqCommentTag reqCommentTag);


    public List<TbCommentTag> findCommentTag(ReqCommentQuery reqCommentQuery);


    /**
     * 获取标签姓名
     * @param listId
     * @return
     */
    public Map<Integer ,TbCommentTag> batchCommentTagById(List<Integer> listId);


    /**
     *
     * 业务标签统计
     * @param tbCommentTagSumList
     * @param listTagId
     */
    public void commentTagTotal(List<TbCommentTagSum> tbCommentTagSumList ,List<Integer> listTagId);


    /**
     * 业务标签获取
     * @param reqCommentQuery
     * @return
     */
    public  List<RespCommentTag> commentTagSum (ReqCommentQuery reqCommentQuery) ;


    /**
     * 查找达人分组
     * @param category_id
     * @return
     */
    public List<TbSysLabelGroup> queryGroupLabel(byte category_id);

    /**
     * 查找达人标签
     * @param category_id
     * @return
     */
    public List<RespCommentTag> queryDarenTag(byte category_id);


    /**
     * @param ids
     * @return
     */
    public List<LableBaseInfo> batchTagByIds( List<Integer> ids ) ;

    /**
     *
     * @param pageSize
     * @return
     */
    public List<LableBaseInfo> randTags(Integer pageSize);

    }
